package com.aspose.cells;

class zct {
   byte[] a;
   private int b;

   zct(byte[] var1) {
      this.a = var1;
      this.b = var1.length;
   }

   zct(int var1) {
      if (var1 < 16) {
         var1 *= 2;
      }

      this.a = new byte[var1];
      this.b = 0;
   }

   void a(byte var1) {
      this.b(1);
      this.a[this.b++] = var1;
   }

   void a(byte[] var1, int var2, int var3) {
      this.b(var3);
      System.arraycopy(var1, var2, this.a, this.b, var3);
      this.b += var3;
   }

   void a(int var1, byte[] var2, int var3, int var4) {
      System.arraycopy(var2, var3, this.a, var1, var4);
   }

   void a(int var1, int var2) {
      this.b(var2);
      System.arraycopy(this.a, var1, this.a, var1 + var2, this.b - var1);
      this.b += var2;
   }

   void a(int var1) {
      this.b(var1);
      this.b += var1;
   }

   void a(byte[] var1, int var2) {
      System.arraycopy(this.a, 0, var1, var2, this.b);
   }

   byte[] a() {
      if (this.b == this.a.length) {
         return this.a;
      } else {
         byte[] var1 = new byte[this.b];
         System.arraycopy(this.a, 0, var1, 0, this.b);
         return var1;
      }
   }

   private void b(int var1) {
      if (this.b + var1 > this.a.length) {
         byte[] var2 = new byte[this.a.length * 2];
         System.arraycopy(this.a, 0, var2, 0, this.b);
         this.a = var2;
      }

   }

   int b() {
      return this.b;
   }
}
